This invention relates to programmable logic device integrated circuits, and more particularly, to computer aided design (CAD) tools for designing logic circuits in programmable logic devices.
Programmable logic devices are a type of integrated circuit that can be programmed by a user to implement a desired custom logic function. In a typical scenario, a logic designer uses computer-aided design (CAD) tools to design a custom logic circuit. These tools use information on the hardware capabilities of a given programmable logic device to help the designer implement the custom logic circuit using the resources available on that given programmable logic device. When the design process is complete, the CAD tools generate configuration data files. The configuration data is loaded into programmable logic devices to configure them to perform the desired custom logic function.
Conventional logic design tools provide logic designers with information on how well a given implementation of a custom logic design is expected to perform. Experienced designers can make adjustments to the design to improve performance. For example, if a designer is informed that a particular implementation of a custom circuit is consuming a large amount of power, the designer may use the logic design tools to make changes to the design that reduce power consumption.
At high switching speeds, designers must take into account noise effects that would otherwise be negligible. An important noise effect to consider is so-called simultaneous switching noise. Simultaneous switching noise (SSN) affects circuits when a number of input or output drivers switch simultaneously. When a significant number of drivers switch simultaneously, the value of the ground voltage can rise and the value of the positive power supply voltage can drop. These SSN effects, which are referred to as ground bounce and Vcc sag, may be significant enough that the digital data passing through the drivers is corrupted.
It would therefore be desirable to provide logic design tools that help logic designers avoid the deleterious effects of simultaneous switching noise when designing custom circuits for programmable logic devices.